package com.fivefu.core.hik.services;

import com.fivefu.core.hik.entity.DbHikRegionsDevice;
import com.baomidou.mybatisplus.extension.service.IService;

import java.util.List;
import java.util.Map;

/**
 * <p>
 * 海康区域设备关联表 服务类
 * </p>
 *
 * @author 
 * @since 2022-07-12 09:26:17
 */
public interface DbHikRegionsDeviceService extends IService<DbHikRegionsDevice> {

    /**
     * 删除其他区域下关联编码设备信息
     * @param notContainRegionIndexCodes   排除区域唯一标识
     */
    void deleteNotContainRegionsDeviceByRegionIndexCodes(List<String> notContainRegionIndexCodes);

    /**
     * 查询区域编码设备Map集合
     * @return
     */
    Map<String,Map<String,Long>> queryRegionDeviceRegionMap();

    /**
     * 删除区域下编码设备
     * @param regionIndexCode  区域唯一标识
     * @param regionDeviceIds  设备唯一编码集合
     */
    void deleteRegionDevice(String regionIndexCode, List<Long> regionDeviceIds);

    /**
     * 批量增加区域编码设备信息
     * @param regionIndexCode   区域唯一标识
     * @param deviceIndexCodeList    编码设备唯一编码集合
     */
    void insertRegionDevices(String regionIndexCode,List<String> deviceIndexCodeList);

    /**
     * 根据编码设备唯一编码查询
     * @param deviceCode
     * @return
     */
    DbHikRegionsDevice queryRegionByDeviceCode(String deviceCode);

    /**
     * 查询所有区域编码设备关联关系
     * @return
     */
    List<DbHikRegionsDevice> queryRegionDevice();
}
